import pymysql
"""
封装成几个函数
    获取链接
    执行命令
    关闭链接
"""
def myConn():
    try:
        conn = pymysql.connect(user="root",
                               password="123456",
                               database="mydb",
                               host="127.0.0.1",
                               port=3306,
                               charset="utf8"
                               )
        print("-----数据库链接成功----")
        return conn
    except Exception as e:
        print("-----数据库链接失败------")

def myexecute(conn,sql):
    try:
        # 通过链接对象可以获取游标
        cursor1 = conn.cursor()

        # 通过游标执行数据库命令
        # cursor1.execute("select * from user")  执行查询命令
        # 执行修改命令
        cursor1.execute(sql)
        conn.commit()

        # 查询结果
        rall = cursor1.fetchall() # 返回所有数据
        # r = cursor1.fetchone() # 返回其中一条数据
        print(rall)
    except Exception:
        print("---数据库执行失败---")

def myclose(conn):
    try:
        # 链接关闭
        conn.close()
    except Exception:
        print("----数据库关闭失败----")

def createtable():
    # 链接数据库
    conn = myConn()
    sql = "create table if not exists employee(id int,name char(100),sex char(3),address char(200))"
    # 执行命令
    myexecute(conn, sql)
    # 关闭
    myclose(conn)

def insertinfo(sql):
    conn = myConn()
    myexecute(conn, sql)
    myclose(conn)

if __name__ == '__main__':
    # 创建表格
    # createtable()

    # 添加数据
    import  faker
    f = faker.Faker(locale="zh-CN")
    info = f.profile()
    sql = f"insert into employee values(1,'{info.get("name")}','{info.get("sex")}','{info.get("address")}')"
    insertinfo(sql)